package com.joysuch.wwyt.bp.service;

import com.joysuch.wwyt.bp.bean.*;
import com.joysuch.wwyt.bp.entity.*;
import com.joysuch.wwyt.core.bean.SimpleSelectListBean;
import com.joysuch.wwyt.core.common.ajax.ResultBean;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface BpStoreHouseService {
    Page list(Pageable of);

    BpStoreHouse add(BpStoreHouseAddBean bpStoreHouse);

    BpStoreHouse edit(BpStoreHouseAddBean b);

    void delete(Long id);

    List<BpStoreHouse> page();

    BpStoreHouseAddBean getById(Long id);

    List<BpStoreHouseAddBean> getByIds(List<Long> ids);

    BpStoreMaterialType addType(BpStoreMaterialTypeOrUnitBean bean);

    BpStoreMaterialType updateType(BpStoreMaterialTypeOrUnitBean bean);

    void deleteTypeById(Long id);

    ResultBean pageType(Pageable pageable,Integer typeFlag);

    BpStoreMaterialUnit addUnit(BpStoreMaterialTypeOrUnitBean bean);

    BpStoreMaterialUnit updateUnit(BpStoreMaterialTypeOrUnitBean bean);

    void deleteUnitById(Long id);

    ResultBean pageUnit(Pageable pageable,Integer typeFlag);

    BpStoreMaterial addMaterial(BpStoreMaterialBean bean);

    BpStoreMaterial updateMaterial(BpStoreMaterialBean bean);

    void deleteMaterial(Long id);

    BpStoreMaterialBean getMaterialById(Long id);

    BpStoreMaterialRecord recordMaterial(BpStoreMaterialRecordBean bean);

    List<BpStoreHouseListBean> getList(Integer typeFlag);

    ResultBean pageMaterial(Pageable pageable, Long huoseId,Integer typeFlag,BpStoreMaterialSearchBean condition);
    ResultBean pageNewMaterial(Pageable pageable,BpStoreMaterialSearchBean condition);

    ResultBean pageMaterialRecord(Pageable pageable, Long materialId);

    BpStoreMaterialRecordBean getMaterialRecord(Long recordId);

    ResultBean pageMhPoint(Pageable pageable, Long parentId);

    List<BpStoreMaterialTypeOrUnitListBean> getUnitList();

    List<BpStoreMaterialTypeOrUnitListBean> getTypeList();

    List<SimpleSelectListBean> findchemProductSimpleList();

}
